Espansione fisica di una ROM. Versione Beta Copyright 2001 drzork4 (drzork4@hotmail.com) ========== Versione ========== Beta - Primo abbozzo per il mio grande amico (nonchè allievo ;) ) _Ombra_. ========== Introduzione ========== Quello che stò andando a spiegare è una delle parti più facili per la traduzione, o meglio, per l'hackeraggio di una ROM. Di solito l'espansione è consigliata nelle traduzioni di ROM che non hanno tanto spazio da regalare al traduttore/hacker. Comunque si può effettuare in qualsiasi ROM dello SNES. Mi raccomando dello SNES, perchè se provate a fare la stessa operazione che ora vi spiegherò ad una per NES si rischia, anzi, sicuramente la ROM và in cRASh...ed è perduta per sempre!!! Il motivo non starò qui a spiegarlo...anche perchè non ne ho capito molto neanch'io. Comunque ricordate: SNES si, NES no!!! ========== Perchè soltanto nelle LoROMs? ========== Bisogna fare una precisazione: l'espansione può essere fatta soltanto nelle così dette LoROMs. Infatti di solito questo spazio aggiunto non viene considerato, o meglio, è come una pagina vuota per l'emulatore ed è quindi facilmente sfruttabile. Mentre se per sbaglio aggiungiamo anche solo un byte ad una HiROM, tutti i puntatori di questa ROM si spostano e come al solito: cRASh e perdiamo tutto!!! ========== I termini 'Espansione' e 'Fisica' ========== Allora iniziamo con lo spiegare cosa significa 'espansione' e cosa significa 'fisica'. Come sappiamo le ROM dello SNES hanno una grandezza variabile che và dagli scarsi 8 Mbit ai 48 Mbit, la più grande (ToP è un'esempio). Aprendo un qualsiasi Hex Editor notiamo, osservando il contenuto della ROM, che ci sono parti con un solo byte ripetuto MOLTISSIME VOLTE. Bene, tutto questo è spazio libero!!! Di solito il byte è FF ma si può trovare anche quello OO. >!ATTENZIONE!< La parte iniziale di una ROM è sempre formata da 00 per la maggior parte. Questa viene chiamata $Header$ ed è molto importante per il suo corretto funzionamento...ma questa è un'altra storia. ;) E' quindi meglio non toccare se non si sà dove si stanno mettendo mani!!! Bene, l'espansione consiste proprio nell'aumentare tutto questo spazio a nostro piacimento...ma ci sono sempre certi limiti che poi vedremo. Invece per 'fisica' si intende l'aumento delle dimensioni della ROM a secondo dell'espansione effettuata. Di solito questo aumento non da alcun problema, sempre seguendo alcune regolette... :) ========== Programmi per l'espansione di una ROM ========== Ci sono programmi che ci permettono di espandere una ROM automaticamente del numero di Mbit che vogliamo. Però un buon hacker deve sempre sapere quello che stà facendo e soprattutto come lo stà facendo. E' sempre comodo usare questi programmi che fanno risparmiare un bel pò di tempo. Di solito sono specifici per ogni ROM ma può capitare che ci siano programmi che espandano due o più diverse. Programmi interessanti sono: - Jabba (www.zophar.net); - Killem (www.zophar.net); ========= Espansione fisica di una ROM ========= Ecco allora quello che ci interessava: aumentare lo spazio disponibile per aggiungere tutto quello che vogliamo alla nostra amata ROM. Tutto quello che bisogna fare è aggiungere o byte FF o direttamente il testo in più che rimane. Sembra semplice e lo è...ma bisogna seguire delle semplici regolette che ci aiutano a non rovinare la ROM. I byte aggiunti devono sempre essere multipli di 32kb, o di $8000 hex byte, o di un 'banco' (chissà che non scriverò pure di questo ;) ). La ROM però può andare incontro a problemi di instabilità: può non partire o resettare l'emu durante...e tanti altri, tutti diversi. Basta sapere che le ROMs sono più stabili se le loro dimensioni vengono 'espanse' di 4 Mbits. Quindi evitate di fare piccole aggiunte di 'soli' 32kb...però provare non costa nulla!!! ;) ========= Dimensioni per la stabilità di una ROM ========= In questo piccolo schemino sono riassunti le dimensioni da aggiungere per mantenere stabile la vostra ROM. (gli indirizzi HEX includono i $200 byte del $Header$) Hex Offset Dimensione Mbits 080200 0.5 Mb 4 Mbit 100200 1.0 Mb 8 Mbit 180200 1.5 Mb 12 Mbit 200200 2.0 Mb 16 Mbit 280200 2.5 Mb 20 Mbit 300200 3.0 Mb 24 Mbit ========= Questo è tutto! Spero di essere stato il più chiaro possibile e di non aver sbagliato nulla nella spiegazione... Spero di non pentirmene ma questa forse sarà uno di tanti documenti che ho voglia di scrivere sulle piccole cose che un aspirante hacker deve imparare per diventare un buon hacker...Buona Notte!!! drzork4